#include <stdio.h>
#include <string.h>

int main() {
    FILE *fp = fopen("bite", "w");
    if (NULL == fp) {
        perror("fopen");
        return -1;
    }
    const char* str = "linux so easy!";
    
    fwrite(str, strlen(str), 1, fp);
    fclose(fp); // 关闭对应的文件流时，会刷新相应的缓冲区
    // fflush(fp); // 如果不刷新，程序运行到这里时并不会将str直接写到文件中，而是写到fp的缓冲区(写文件时，缓冲区是写满刷新)，进程结束才会刷新缓冲区。
    char buffer[1024] = { '\0' };
    FILE *fp1 = fopen("bite", "r");
    if (NULL == fp1) {
        perror("fopen");
        return -1;
    }
    int size = fread(buffer, 1, 1023, fp1);
    printf("读文件时读到了 %d 个字符\n", size);
    fwrite(buffer, strlen(buffer), 1, stdout);

    fclose(fp1);

    return 0;
}
